home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 1159.ZIP / REPINSTP.PRG < prev    next >
Text File  |  1987-02-06  |  12KB  |  598 lines

  1. IF GLPRINT=1
  2.  PAPEROUT=1
  3. ENDIF
  4. DO CASE
  5.  CASE MULTTV=1.AND.MODFILE=0
  6.   CLOSE DATABASES
  7.   SELECT 2
  8.   USE REPWORK
  9.   SELECT 1
  10.   USE &DBNAME INDEX &INDEX1,&INDEX2
  11.   SEEK TVANO
  12. IF EOF()
  13.  CLEAR
  14.  @ 1,20 SAY 'Data base in use:  '
  15.  ?? OSS
  16.  @ 5,0 SAY 'No record was found in which "'
  17.  ?? TVANO
  18.  ??'" exactly '
  19.  ?'matched any item in the '
  20.  ?? TVANUMBER
  21.  ??' field.'
  22.  ?
  23.  ?
  24.  ?
  25.  WAIT
  26.  RETURN
  27. ENDIF
  28.   DO WHILE TVANO=TVA_NO
  29.    SELECT 2
  30.    APPEND BLANK
  31.    REPLACE SUBCATID WITH A->SUBCATID
  32.    REPLACE INST_TYPE WITH A->INST_TYPE
  33.    REPLACE TVA_NO WITH A->TVA_NO
  34.    REPLACE SERIAL_NO WITH A->SERIAL_NO
  35.    REPLACE BY_DATE WITH A->BY_DATE
  36.    REPLACE CALIB_DATE WITH A->CALIB_DATE
  37.    REPLACE CAL_DUE_DT WITH A->CAL_DUE_DT
  38.    REPLACE LOCATION WITH A->LOCATION
  39.    REPLACE REMARK WITH A->REMARK
  40.    REPLACE CALIB_INT WITH A->CALIB_INT
  41.    REPLACE LAST_UPDAT WITH A->LAST_UPDAT
  42.    SELECT 1
  43.    SKIP
  44.   ENDDO
  45.   SELECT 2
  46.  CASE MULTSN=1.AND.MODFILE=0
  47.   CLOSE DATABASES
  48.   SELECT 2
  49.   USE REPWORK
  50.   SELECT 1
  51.   USE &DBNAME INDEX &INDEX2,&INDEX1
  52.   SEEK TVANO
  53. IF EOF()
  54.  CLEAR
  55.  @ 1,20 SAY 'Data base in use:  '
  56.  ?? OSS
  57.  @ 5,0 SAY 'No record was found in which "'
  58.  ?? TVANO
  59.  ??'" exactly '
  60.  ?'matched any item in the '
  61.  ?? SERIALNUM
  62.  ??' field.'
  63.  ?
  64.  ?
  65.  ?
  66.  WAIT
  67.  RETURN
  68. ENDIF
  69.   DO WHILE TVANO=SERIAL_NO
  70.    SELECT 2
  71.    APPEND BLANK
  72.    REPLACE SUBCATID WITH A->SUBCATID
  73.    REPLACE INST_TYPE WITH A->INST_TYPE
  74.    REPLACE TVA_NO WITH A->TVA_NO
  75.    REPLACE SERIAL_NO WITH A->SERIAL_NO
  76.    REPLACE BY_DATE WITH A->BY_DATE
  77.    REPLACE CALIB_DATE WITH A->CALIB_DATE
  78.    REPLACE CAL_DUE_DT WITH A->CAL_DUE_DT
  79.    REPLACE LOCATION WITH A->LOCATION
  80.    REPLACE REMARK WITH A->REMARK
  81.    REPLACE CALIB_INT WITH A->CALIB_INT
  82.    REPLACE LAST_UPDAT WITH A->LAST_UPDAT
  83.    SELECT 1
  84.    SKIP
  85.   ENDDO
  86.   SELECT 2
  87. ENDCASE
  88. IF GLCALDU=0
  89.   SET FILTER TO CALIB_INT#0 .AND. CALIB_INT#99
  90. ELSE
  91.   SET FILTER TO COMPDATE1<=CAL_DUE_DT.AND.COMPDATE2>=CAL_DUE_DT.AND.;
  92. BY_DATE>10
  93. ENDIF
  94. GO TOP
  95. NNN=0
  96. N99=0
  97. NN=0
  98. IF PRINTOUT=1
  99.  READY='K'
  100.  DO WHILE READY#'Y'
  101.   IF GLCALDU=0
  102.   CLEAR
  103.   ?
  104.   ?'Make SURE the printer is ready to print.  Then press "Y" to continue,'
  105.   ?
  106.   ?'or else press "RETURN" to return to a previous menu.'
  107.   ?
  108.   ?
  109.   ?'PLEASE NOTE:  If you should ever make a mistake and there is a system error'
  110.   ?'because the printer is not ready, then FIRST enable the printer and THEN'
  111.   ?'press "I" for the "ignor" option until no further error is indicated.'
  112.   IF ADDFILE=1.OR.MODFILE=1
  113.   ?'Since you are involved in a record modification routine at this time, any'
  114.   ?'other response may damage the records to this particular data base and'
  115.   ?'cause you to have to restore the records to this data base from a backup'
  116.   ?'copy.  For further information, please see the instruction manual.'
  117.   ENDIF
  118.   ?
  119.   ?
  120.   CLEAR TYPEAHEAD
  121.   WAIT '                                    ' TO READY
  122.   READY=UPPER(READY)
  123.   IF ASC(READY)=0
  124.    SET DELETED ON
  125.    IF (MULTTV=1.OR.MULTSN=1).AND.MODFILE=0
  126.     ZAP
  127.     USE
  128.     SELECT 1
  129.    ENDIF
  130.    RETURN
  131.   ENDIF
  132.   ELSE
  133.    READY='Y'
  134.   ENDIF
  135.  ENDDO
  136. ENDIF 
  137.  CLEAR
  138.  @ 4,35 SAY 'WORKING . . .'
  139.  @ 14,20 SAY 'Data base in use:'
  140.  @ 14,38 SAY OSS
  141.  IF PRINTOUT=1 
  142.  N=5
  143.  SET CONSOLE OFF
  144.  SET PRINT ON
  145.  SET DEVICE TO PRINT
  146.  DO CASE
  147.    CASE ADDFILE=1
  148.  IF PDELREC=0
  149.    @ 1,45 SAY "These are the records you just added."
  150.   ELSE
  151.    @ 1,42 SAY "These are the records which were just deleted."
  152.  ENDIF
  153.    CASE MODFILE=1
  154.  IF PDELREC=0
  155.    @ 1,44 SAY "These are the records you just modified."
  156.   ELSE
  157.    @ 1,44 SAY "These are the records you just deleted."
  158.  ENDIF
  159.    CASE GLCALDU=1
  160.    @ 1,65-INT((LEN(DUEDATE)+62)/2) SAY 'Conditions:  Records with '
  161.    ?? DUEDATE
  162.    ??' field from  '
  163.    ?? COMPDATE1
  164.    ??'  to  '
  165.    ?? COMPDATE2
  166.    ??'.'
  167.  ENDCASE
  168.  @ 3,65-INT(LEN(TITLE1)/2) SAY TITLE1
  169.  @ 3,105 SAY "Today's date is"
  170.  @ 3,122 SAY DATE()
  171.  @ 3,130 SAY '.'
  172.  DO WHILE NN=0
  173.  DO WHILE .NOT. EOF()
  174.   DO CASE
  175.    CASE NNN=0
  176.  IF INSTNAME#'.'
  177.   @ N,0 SAY INSTNAME
  178.  ENDIF
  179.  IF SERIALNUM#'.'
  180.   @ N,21 SAY SERIALNUM
  181.  ENDIF
  182.  IF TVANUMBER#'.'
  183.   @ N,36 SAY TVANUMBER
  184.  ENDIF
  185.  IF CALIBDATE#'.'
  186.   @ N,51 SAY CALIBDATE
  187.  ENDIF
  188.  IF DUEDATE#'.'
  189.   @ N,61 SAY DUEDATE
  190.  ENDIF
  191.  IF LOCATNAME#'.'
  192.   @ N,95 SAY LOCATNAME
  193.  ENDIF
  194.  IF CALINTERVL#'.'
  195.   @ N,110 SAY CALINTERVL
  196.  ENDIF
  197.   @ N,120 SAY 'LAST UPDATE'
  198.  IF CALINTERVL#'.'
  199.   @ N+1,110 SAY '(months)'
  200.  ENDIF
  201.   @ N+2,0 SAY ' '
  202.    CASE NNN=1
  203.    ?
  204.    DO CASE
  205.     CASE PROW()>53
  206.      @ 0,65-INT((LEN(CATEGORY2+CATEGORY3)+67)/2) SAY 'THESE RECORDS ARE;
  207.  EITHER PRESENTLY IN CATEGORY "'
  208.      ?? CATEGORY2
  209.      ??'" OR IN CATEGORY "'
  210.      ?? CATEGORY3
  211.      ??'"'
  212.     OTHERWISE
  213.      @ PROW(),65-INT((LEN(CATEGORY2+CATEGORY3)+67)/2) SAY 'THESE RECORDS ARE;
  214.  EITHER PRESENTLY IN CATEGORY "'
  215.      ?? CATEGORY2
  216.      ??'" OR IN CATEGORY "'
  217.      ?? CATEGORY3
  218.      ??'"'
  219.    ENDCASE
  220.   IF INSTNAME#'.'
  221.    @ PROW()+2,0 SAY INSTNAME
  222.   ENDIF
  223.   IF SERIALNUM#'.'
  224.    @ PROW(),21 SAY SERIALNUM
  225.   ENDIF
  226.   IF TVANUMBER#'.'
  227.    @ PROW(),36 SAY TVANUMBER
  228.   ENDIF
  229.   IF CALIBDATE#'.'
  230.    @ PROW(),51 SAY CALIBDATE
  231.   ENDIF
  232.   IF DUEDATE#'.'
  233.    @ PROW(),63 SAY DUEDATE
  234.   ENDIF
  235.   IF LOCATNAME#'.'
  236.    @ PROW(),95 SAY LOCATNAME
  237.   ENDIF
  238.    @ PROW(),120 SAY 'LAST UPDATE'
  239.    ?
  240.    ?
  241.   ENDCASE
  242.   DO WHILE .NOT. EOF()
  243.   DO CASE
  244.    CASE NNN=0
  245.     IF PROW()>53
  246.      EXIT
  247.     ENDIF
  248.     DO CASE
  249.      CASE BY_DATE=100
  250.       @ PROW()+1,51 SAY TDREMARK
  251.      CASE BY_DATE=200
  252.       @ PROW()+1,51 SAY DREMARK
  253.     ENDCASE
  254.     @ PROW()+1,0 SAY INST_TYPE
  255.     @ PROW(),21 SAY SERIAL_NO
  256.     @ PROW(),36 SAY TVA_NO
  257.     @ PROW(),51 SAY CALIB_DATE
  258.     @ PROW(),61 SAY CAL_DUE_DT
  259.     @ PROW(),70 SAY CDOW(CAL_DUE_DT)
  260.     ??', '
  261.     ?? CMONTH(CAL_DUE_DT)
  262.     ?? DAY(CAL_DUE_DT)
  263.     @ PROW(),95 SAY LOCATION
  264.     @ PROW(),113 SAY CALIB_INT
  265.     @ PROW(),121 SAY LAST_UPDAT
  266.   PT=0
  267.   IF CAT3ABB $ SUBCATID
  268.    ?'/'
  269.    ?? CATEGORY3
  270.    ??'/   '
  271.    PT=1
  272.   ENDIF
  273.   IF SUB1ABB $ SUBCATID
  274.    IF PT=0
  275.     ?'('
  276.     ?? SUBCAT1
  277.     ??')   '
  278.     PT=1
  279.    ELSE
  280.     ??'('
  281.     ?? SUBCAT1
  282.     ??')   '
  283.    ENDIF
  284.   ENDIF
  285.   IF SUB2ABB $ SUBCATID
  286.    IF PT=0
  287.     ?'('
  288.     ?? SUBCAT2
  289.     ??')   '
  290.     PT=1
  291.    ELSE
  292.     ??'('
  293.     ?? SUBCAT2
  294.     ??')   '
  295.    ENDIF
  296.   ENDIF
  297.   IF SUB3ABB $ SUBCATID
  298.    IF PT=0
  299.    ?'('
  300.    ?? SUBCAT3
  301.    ??')   '
  302.    ELSE
  303.    ??'('
  304.    ?? SUBCAT3
  305.    ??')   '
  306.    ENDIF
  307.   ENDIF
  308.     IF LEN(TRIM(REMARK))#0
  309.      ? TRIM(REMARK)
  310.     ENDIF
  311.    CASE NNN=1
  312.     IF PROW()>53
  313.      EXIT
  314.     ENDIF
  315.     @ PROW()+1,0 SAY INST_TYPE
  316.     @ PROW(),21 SAY SERIAL_NO
  317.     @ PROW(),36 SAY TVA_NO
  318.     REMKE=LTRIM(TRIM(REMARK))
  319.    IF DTOC(CALIB_DATE) # '  /  /  ' .OR. CALIBDATE # '.'
  320.     @ PROW(),51 SAY CALIB_DATE
  321.    ENDIF
  322.    IF DTOC(CAL_DUE_DT) # '  /  /  ' .OR. DUEDATE # '.'
  323.     @ PROW(),69 SAY CAL_DUE_DT
  324.    ENDIF
  325.     DO CASE
  326.      CASE CALIB_INT=99
  327.       @ PROW(),78 SAY CATEGORY2
  328.      CASE CALIB_INT=0
  329.       @ PROW(),78 SAY CATEGORY3
  330.     ENDCASE
  331.     @ PROW(),95 SAY LOCATION
  332.     @ PROW(),121 SAY LAST_UPDAT
  333.   PT=0
  334.   IF CAT3ABB $ SUBCATID
  335.    ?'/'
  336.    ?? CATEGORY3
  337.    ??'/   '
  338.    PT=1
  339.   ENDIF
  340.   IF SUB1ABB $ SUBCATID
  341.    IF PT=0
  342.     ?'('
  343.     ?? SUBCAT1
  344.     ??')   '
  345.     PT=1
  346.    ELSE
  347.     ??'('
  348.     ?? SUBCAT1
  349.     ??')   '
  350.    ENDIF
  351.   ENDIF
  352.   IF SUB2ABB $ SUBCATID
  353.    IF PT=0
  354.     ?'('
  355.     ?? SUBCAT2
  356.     ??')   '
  357.     PT=1
  358.    ELSE
  359.     ??'('
  360.     ?? SUBCAT2
  361.     ??')   '
  362.    ENDIF
  363.   ENDIF
  364.   IF SUB3ABB $ SUBCATID
  365.    IF PT=0
  366.    ?'('
  367.    ?? SUBCAT3
  368.    ??')   '
  369.    ELSE
  370.    ??'('
  371.    ?? SUBCAT3
  372.    ??')   '
  373.    ENDIF
  374.   ENDIF
  375.     IF LEN(REMKE)>0
  376.       ? REMKE
  377.     ENDIF
  378.     N99=0
  379. ENDCASE
  380.   SKIP
  381.   NSPC=1
  382.   DO WHILE NSPC<SPACING
  383.   ?
  384.   NSPC=NSPC+1
  385.   ENDDO
  386.  ENDDO
  387.   ?
  388. N=0
  389. ENDDO
  390. IF NNN=0
  391.  IF GLCALDU=0
  392. SET FILTER TO CALIB_INT=0 .OR. CALIB_INT=99
  393.  ELSE
  394.   SET FILTER TO COMPDATE1<=CAL_DUE_DT.AND.COMPDATE2>=CAL_DUE_DT.AND.;
  395. BY_DATE<10
  396.  ENDIF
  397. GO TOP
  398.  IF .NOT. EOF()
  399.   N99=1
  400.  ENDIF
  401. ENDIF
  402. NNN=1
  403. IF N99=0
  404.  NN=1
  405. ENDIF
  406. ?'****************************************************************************;
  407. *******************************************************'
  408. IF N99=1 .AND. NNN=1 .AND. PROW()>43
  409.  @ 0,0 SAY ' '
  410. ENDIF
  411. ENDDO
  412. ?
  413. ?'****************************************************************************;
  414. *******************************************************'
  415. ?
  416. ?'                                                        END OF LISTING'
  417. NPRN=0
  418. DO WHILE NPRN<PAPEROUT
  419. ?
  420. NPRN=NPRN+1
  421. ENDDO
  422. SET CONSOLE ON
  423. SET DEVICE TO SCREEN
  424. SET PRINT OFF
  425. ENDIF
  426. IF VIEW=1
  427. SET FILTER TO
  428. ENDREC=RECCOUNT()
  429. GO TOP
  430. DO WHILE .NOT. EOF()
  431. SET CONSOLE ON
  432. CLEAR
  433. DO CASE
  434.  CASE ENDREC # 1
  435.   @ 1,7+INT(LOG(ENDREC)/LOG(10))+INT(LOG(RECNO())/LOG(10)) SAY ENDREC
  436.   ??' records.       '
  437.   ??'Data base in use:  '
  438.   ?? OSS
  439.   @ 1,2+INT(LOG(RECNO())/LOG(10)) SAY RECNO()
  440.   ??' of '
  441.   @ 1,0 SAY 'Record No.'
  442.   DO CASE
  443.    CASE RECNO()=ENDREC
  444.     ?'End of listing'
  445.    CASE RECNO()=1
  446.     ?'Beginning of listing'
  447.   ENDCASE
  448.    CASE ENDREC=1
  449.     ?'There is only 1 record in this listing.'
  450. ENDCASE
  451. @ 3,0 SAY INSTNAME
  452. @ 3,23 SAY SERIALNUM
  453. @ 3,40 SAY TVANUMBER
  454. @ 3,57 SAY CALIBDATE
  455. @ 3,70 SAY 'NEXT DATE'
  456. DO CASE
  457.  CASE BY_DATE=100
  458.   @ 5,56 SAY TDREMARK
  459.  CASE BY_DATE=200
  460.   @ 5,58 SAY DREMARK
  461. ENDCASE
  462. @ 6,0 SAY INST_TYPE
  463. @ 6,23 SAY SERIAL_NO
  464. @ 6,40 SAY TVA_NO
  465. @ 6,58 SAY CALIB_DATE
  466. @ 6,70 SAY CAL_DUE_DT
  467.   PT=0
  468.   IF CAT3ABB $ SUBCATID
  469.    ?'/'
  470.    ?? CATEGORY3
  471.    ??'/   '
  472.    PT=1
  473.   ENDIF
  474.   IF SUB1ABB $ SUBCATID
  475.    IF PT=0
  476.     ?'('
  477.     ?? SUBCAT1
  478.     ??')   '
  479.     PT=1
  480.    ELSE
  481.     ??'('
  482.     ?? SUBCAT1
  483.     ??')   '
  484.    ENDIF
  485.   ENDIF
  486.   IF SUB2ABB $ SUBCATID
  487.    IF PT=0
  488.     ?'('
  489.     ?? SUBCAT2
  490.     ??')   '
  491.     PT=1
  492.    ELSE
  493.     ??'('
  494.     ?? SUBCAT2
  495.     ??')   '
  496.    ENDIF
  497.   ENDIF
  498.   IF SUB3ABB $ SUBCATID
  499.    IF PT=0
  500.    ?'('
  501.    ?? SUBCAT3
  502.    ??')   '
  503.    PT=1
  504.    ELSE
  505.    ??'('
  506.    ?? SUBCAT3
  507.    ??')   '
  508.    ENDIF
  509.   ENDIF
  510. @ 9,0 SAY LOCATNAME
  511. ??':  '
  512. ?? LOCATION
  513. IF CALIB_INT>0.AND.CALIB_INT<99
  514.  ??'   '
  515.  ?? CALINTERVL
  516.  ??':  '
  517.  ?? CALIB_INT
  518.  ??'  months'
  519. ENDIF
  520. DO CASE
  521.  CASE CALIB_INT=99
  522.   @ 9,60 SAY '/'
  523.   ?? CATEGORY2
  524.   ??'/'
  525.  CASE CALIB_INT=0
  526.   @ 9,60 SAY '/'
  527.   ?? CATEGORY3
  528.   ??'/'
  529. ENDCASE
  530. @ 11,0 SAY REMARK
  531. @ 14,0 SAY 'LAST UPDATE:'
  532. @ 14,14 SAY LAST_UPDAT
  533. N4="K"
  534. DO WHILE ASC(N4)#0.AND.N4#' ' .AND.;
  535. N4#'P'.AND.N4#'U'.AND.N4#'D'.AND.N4#'E'.AND.N4#'B'
  536. @ 16,0 SAY 'Press SPACEBAR to see the next record.'
  537. @ 17,0 SAY 'Press "P" to see previous record.'
  538. IF ENDREC>7
  539.   ?'Press "U" to go up 7 records.'
  540.   ?'Press "D" to go down 7 records.'
  541. ENDIF
  542. ?'Press "E" to go to the ending (last) record.'
  543. ?'Press "B" to go to the beginning (first) record.'
  544. ?
  545. WAIT 'Press "RETURN" to return to a previous menu.' TO N4
  546. N4=UPPER(N4)
  547. ENDDO
  548. DO CASE
  549.  CASE N4='P' .AND. RECNO() # 1
  550.   GO RECNO()-1
  551.  CASE N4='P' .AND. RECNO() = 1
  552.   GO BOTTOM
  553.  CASE ASC(N4)=0
  554.   IF (MULTTV=1.OR.MULTSN=1).AND.MODFILE=0
  555.    ZAP
  556.    USE
  557.    SELECT 1
  558.   ENDIF
  559.   RETURN
  560.  CASE N4=' '.AND.ENDREC=RECNO()
  561.   GO TOP
  562.  CASE N4=' '
  563.   SKIP
  564.  CASE N4='D'
  565.   IF ENDREC>7
  566.    IF ENDREC-RECNO()>6
  567.     GO RECNO()+7
  568.    ELSE
  569.     GO RECNO()+7-ENDREC
  570.    ENDIF
  571.   ELSE
  572.    N4='Z'
  573.   ENDIF
  574.  CASE N4='U'
  575.   IF ENDREC>7
  576.    IF RECNO()>7
  577.     GO RECNO()-7
  578.    ELSE
  579.     GO ENDREC-7+RECNO()
  580.    ENDIF
  581.   ELSE
  582.     N4='Z'
  583.   ENDIF
  584.  CASE N4='E'
  585.   GO BOTTOM
  586.  CASE N4='B'
  587.   GO TOP
  588. ENDCASE
  589. ENDDO
  590. ENDIF
  591. SET DELETED ON
  592. IF (MULTTV=1.OR.MULTSN=1).AND.MODFILE=0
  593.  ZAP
  594.  USE
  595.  SELECT 1
  596. ENDIF
  597. RETURN
  598.